From c8c42229f11d2951e9618731166b2237f86d512f Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Fri, 20 Jul 2007 12:13:24 +0000 Subject: [PATCH] Don't pop up under the cursor. 2007-07-20 Matthias Clasen * gtk/gtktooltip.c (gtk_tooltip_position): Don't pop up under the cursor. svn path=/trunk/; revision=18512 --- ChangeLog | 6 ++++++ gtk/gtktooltip.c | 10 +++++++++- 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index bbb360c2a5..75c92f426e 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2007-07-20 Matthias Clasen + + * gtk/gtktooltip.c (gtk_tooltip_position): Don't pop up + under the cursor. This fixes tooltip-induced flickering + in the tasklist in a bottom panel. + 2007-07-20 Matthias Clasen * gtk/gtkpathbar.c (make_directory_button): Don't leak diff --git a/gtk/gtktooltip.c b/gtk/gtktooltip.c index a79617034c..d60829df31 100644 --- a/gtk/gtktooltip.c +++ b/gtk/gtktooltip.c @@ -751,7 +751,15 @@ gtk_tooltip_position (GtkTooltip *tooltip, if (y + requisition.height > monitor.y + monitor.height) y -= y - (monitor.y + monitor.height) + requisition.height; - + + if (!tooltip->keyboard_mode_enabled) + { + /* don't pop up under the pointer */ + if (x <= tooltip->last_x && tooltip->last_x < x + requisition.width && + y <= tooltip->last_y && tooltip->last_y < y + requisition.height) + y = tooltip->last_y - requisition.height - 2; + } + gtk_window_move (GTK_WINDOW (tooltip->current_window), x, y); gtk_widget_show (GTK_WIDGET (tooltip->current_window)); } -- 2.30.2